<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>

<title>Getting Started - phoneME Feature Software (MR4)</title>
    <link rel="stylesheet" href="./style/document.css" type="text/css">

<!--
<style type="text/css"> /* <![CDATA[ */
@import "/branding/css/tigris.css";
@import "/branding/css/inst.css";
/* ]]> */</style>
<link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />
<script src="/branding/scripts/tigris.js" type="text/javascript"></script>

<script src="/branding/scripts/alm.js" type="text/javascript"></script>
<style type="text/css">
/* <![CDATA[ */
@import "/brinding/css/alm.css";
/* ]]> */
</style>
-->

<!--
<title>Getting Started - phoneME Feature Software (MR4)</title>
<link rel="stylesheet" href="./style/tigris.css" type="text/css">
<link rel="stylesheet" href="./style/inst.css" type="text/css">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="version" content="4.5.2.148.4" />

<style type="text/css"></style>
-->

</head>

<body  class="composite">
<div class="strut">&nbsp;</div>
</td>
<td id="midcol">
<div id="bodycol">

<!--  ================= BEGIN PAGE BODY (Ignore Everything Above)  ============ -->

<!-- Header -->
<table class="full-width">
  <tr>
    <td align="center" class=sun-darkblue>
      <h1>Getting Started</h1>
      <h2>phoneME&#153; Feature Software (MR4)</h2>
      <h4>April 2009</h4>
    </td>
  </tr>
  <tr>
    <td class=sun-lightblue>&nbsp;</td>
  </tr>
</table>
<p>
<!-- End Header -->

<!-- BEGIN PAGE TITLE -->
<div id="projecthome" class="app"> <h2><font color="#225577">Building a PCSL 
Reference Port<span class="style1"></span></font></h2>
<!-- END PAGE TITLE -->

<p>
<a href="../index.html">home</a> | <a href="./index_feature.html">first</a> | 
<a href="./javacall_feature.html">prev</a> | <a href="./cldc_feature.html">next</a> | 
<a href="./client_feature.html">last</a> 
<p>

This document contains instructions for building a PCSL reference port. It has the 
following sections:
<p>
<ul>
<li><a href="#win32">Building PCSL Software on a Windows x86 Build Platform</a> 
<li><a href="#pcsl_docs">Building PCSL Documentation</a>
</ul>
<p>

PCSL libraries are used to build CLDC and the phoneME Feature software client.  PCSL 
contains several individual services, including file, network, memory, and print.  
Follow the procedures in this section to build a default PCSL reference port containing 
libraries, tools, tests, and documentation bundles for the following target platforms:
<P>
<ul>
<li><a href="#javacall_i386">Windows x86</a>
</ul>
<b>Note:</b> Although each PCSL service can be individually built, this document 
describes how to build the full PCSL only. 
<p>



<!-- BEGIN SECTION HEAD -->
<hr noshade="noshade" size="1">
<a name="win32"></a><h3>Building PCSL Software on a Windows x86 Build Platform</h3>
<!-- END SECTION HEAD -->
<p>

This section describes how to build PCSL on the Windows x86 build platform, for a 
JavaCall porting layer on a Windows x86 target platform, as shown in 
<a href="#table3-1">Table 3-1</a>.
<P>
<b>Note:</b> Make a note of the values you choose for these variables. When building
the CLDC and phoneME Feature software client, you must set corresponding values.
<P>


<a name="win_env"></a>
<strong>Setting PCSL Environment Variables for a Windows x86 Build Platform</strong>
<p>

<TABLE CLASS="Titled" BORDER=1 BORDERCOLORLIGHT="#FFFFFF" BORDERCOLORDARK="#000000"
CELLPADDING=5 CELLSPACING=0>
<A NAME="table3-1"></A>
<CAPTION><b>TABLE 3-1</b> Required PCSL Build Variables for Windows x86</CAPTION>
<THEAD>
<TR>
<TH SCOPE="COL" ROWSPAN="1" COLSPAN="1" BGCOLOR="#CCCCCC">
<P CLASS="TableHead"><A NAME="pgfId-485154"></A>Name
</P>
</TH>
<TH SCOPE="COL" ROWSPAN="1" COLSPAN="1" BGCOLOR="#CCCCCC">
<P CLASS="TableHead"><A NAME="pgfId-485156"></A>Description
</P>
</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>PCSL_PLATFORM</code>
<P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
Identifies the target operating system, the target CPU, and the compiler that the
build system uses to create the PCSL library. Its value has the form
<I>os_cpu_compiler</I>.
<p>
The value of this variable is <code>javacall_i386_vc</code>.  The <code>vc</code> 
indicates the Microsoft Visual Studio compiler.
</TD>
</TR>
<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>PCSL_OUTPUT_DIR</code>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
Specifies the location where the build system puts PCSL output. For example,  this
could be <code>%BUILD_OUTPUT_DIR%/pcsl</code>.
<p>
<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>JAVACALL_OUTPUT_DIR</code> <P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
If you are building a JavaCall porting layer implementation, this specifies the 
location of the JavaCall porting layer output.
<p>
</TD>
</TR>

<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>TOOLS_DIR</code> <P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
Defines the directory where needed build tools are located. For example, 
<code>TOOLS_DIR=%COMPONENTS_DIR%/tools</code>.	
<p>
</TD>
</TR>

<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>TOOLS_OUTPUT_DIR</code> <P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
Defines a directory location for tools-specific output.  For example, 
<code>TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_SIR%/tools</code>.
<p>
</TD>
</TR>
<TR>
<TD SCOPE="ROW" ROWSPAN="1" COLSPAN="1">
<P>
<code>USE_VS2005</code>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P>
Tells the build system to use Microsoft Visual Studio 2005 as the default compiler 
setting, as shown here: <code>USE_VS2005=true</code>.
<p>
<b>Note:</b> If Microsoft Visual Studio 2005 is your default compiler, you do not
need to set this variable. <code>USE_VS2005=true</code> is set for you in the MR4
build scripts. However, if you are using some other compiler (which is possible,
but not supported, in MR4), you <i>must</i> set this variable to 
<code>USE_VS2005=false</code>.
<p>
</TD>
</TR>
</TBODY>
</TABLE>
<p>


<a name="javacall_i386"></a>
<strong>Building for a Windows x86 Target Platform</strong>
<P>
<ol>
<p>
<b><li>Run the</b> <code>make</code> <b>command as a single command-line string, 
as shown here.</b>
<P>
<code>C:\> make -C %COMPONENTS_DIR%/pcsl PCSL_PLATFORM=javacall_i386_vc 
PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall 
TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools</code>
</ol>
<p>
The PCSL build output is found under <code>%PCSL_OUTPUT_DIR%/javacall_i386</code>
<P>


<!-- BEGIN SECTION HEAD -->
<hr noshade="noshade" size="1">
<a name="pcsl_docs"></a><h3>Building PCSL Documentation</h3>
<!-- END SECTION HEAD -->
<p>

To build Doxygen API documentation in HTML format from PCSL porting interfaces, 
you must install the Doxygen tool.  It can be acquired from
<code><A HREF="http://www.doxygen.org">http://www.doxygen.org</A></code> 
<p>

<strong>Generating Doxygen Documentation</strong>
<P>
The procedure for building Doxygen documentation is the same for both Linux and Windows 
build platforms.
<P>
<OL>
<b><LI>Change to the PCSL directory:</b>
<P>
<code>C:\> cd %COMPONENTS_DIR%/pcsl</code>
<P>
<b><LI>Run the</b> <code>make doc</code> <b>command:</b>
<P>
<code>C:\> make doc</code>
<p>

<P>
<b>Note:</b> The build system assumes that the Doxygen executable is in the 
directory <code>/usr/bin/doxygen</code>. If your executable is installed in a 
different location, use the <code>DOXYGEN_CMD</code> variable to define the 
new location.  For example:
<p>
<code>C:\> make DOXYGEN_CMD=</code><em>doxygen_dir</em><code> doc</code>
<p>
where <em>doxygen_dir</em> is the location of your Doxygen executable.
<p>
</OL>


<strong>Viewing PCSL Documents</strong>
<P> 
Use any browser to display the Doxygen output file at the following URL:
<P>
<ul>
<code>file://%PCSL_OUTPUT_DIR%/doc/doxygen/html/index.html</code>
</ul>
<pre>


</pre>

<a href="../index.html">home</a> | <a href="./index_feature.html">first</a> | 
<a href="./javacall_feature.html">prev</a> | <a href="./cldc_feature.html">next</a> | 
<a href="./client_feature.html">last</a> 
<p>

<!-- =================================== END PAGE BODY ================== -->

<p>
<hr noshade="noshade" size="1">

<p class="copyright"><a href="./style/copyright.html">Copyright</a>
&#169; 2009 Sun Microsystems, Inc. All rights reserved. 
</p>

</div></td></tr></tbody></table></body></html>
